fio 测试工具 |
您所在的位置:网站首页 › fio 硬盘 › fio 测试工具 |
一 何为fio 见官网:http://freshmeat.net/projects/fio/ 总之就是一个磁盘io的测试工具,支持多引擎和多系统测试,非常灵活和强大。 二 安装 Linux:yum install libaio-devel 依赖包安装 解压tar包 然后make && make install Windows:https://bluestop.org/fio/下载windows 安装包 .msi 结尾的 直接安装 下一步 下一步 就行。 安装完成后,cmd :fio –version 会有版本号 三 测试 先说下我测试的目的,mysql数据库有个参数需要知道磁盘的iops。主要目的就要准确的知道磁盘的iops。 什么是iops 即每秒进行读写(I/O)操作的次数Iops越高表示磁盘读(写)数据越快。不能设置,是出厂就已经定了的 Linux :centos7 虚拟机iSCSI 硬盘 (真实硬盘是希捷 移动硬盘) 测试命令: fio -filename=a.txt -direct=1 -iodepth 1-thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test filename参数指定某个要测试的裸设备(硬盘或分区),不要在有数据的磁盘测试,linux一切接文件,设备也是文件表示。-filename=a.txt 大小500m 发现iops很高5000多 fio -directory=/test/ -direct=1 -iodepth 1-thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test 若一定要测试系统分区较为安全的方法是:在根目录下创建一个空目录,在测试命令中使用directory参数指定该目录,而不使用filename参数 -directory=/test/ 大小还是500m 结果变成了2700左右 fio -filename=/dev/sdb1 -direct=1 -iodepth1 -thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test 拿出一个真正的磁盘/dev/sdb1 测试iops 400多,这个才是比较准确的值。因为我测试的硬盘是机性硬盘,一般都是几百。上面两个有的扯,不能准确反映磁盘的读写能力。至于原因,我认为Linux一切皆文件,fio 可能把我给的a.txt /test 当成一个磁盘了。 Windows:server 2008 r2 虚拟机 硬盘同上 命令: E:\>fio -filename=a.txt -direct=1-iodepth=1 -thread -rw=randrw -ioengine=window saio -bs=16k -size=5g -numjobs=10 -runtime=1000-group_reporting -name=test E:\>fio -filename=E: -direct=1-iodepth=1 -thread -rw=randrw -ioengine=windowsai o -bs=16k -size=500m -numjobs=10-runtime=1000 -group_reporting -name=mytest 在Windows 测试中测试fio 版本较新fio-3.13,发现-directory参数不能使用,每次测试都会生成一个-filename=$filename 文件名,并不毁坏数据,并且测试结果两次测试结果相差不多。平均都是500多。(分别是5g和500m) 另外,不论Linux合适Windows,测试完后不要忘了删除测试文件。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |